package org.ytor.core.sysapi.scheduler.model;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ytor.common.util.bean.Beans;
import org.ytor.core.sqlflow.PersistenceModel;
import io.swagger.v3.oas.annotations.media.Schema;
import org.ytor.core.sysapi.scheduler.resp.SysSchedulerTaskResp;

/**
 * created by yangtong on 2025年7月9日 13:20:32
 * <br/>
 * 定时任务
 * <br/>
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description ="定时任务")
public class SysSchedulerTask extends PersistenceModel<SysSchedulerTask, String> {

    /**
     * 任务名称
     */
    @Schema(description ="任务名称")
    private String taskName;

    /**
     * 任务执行周期
     */
    @Schema(description ="任务执行周期")
    private String cron;

    /**
     * 任务类型
     */
    @Schema(description ="任务类型")
    private Byte type;

    /**
     * 任务全类名
     */
    @Schema(description ="任务全类名")
    private String beanName;

    /**
     * 任务参数
     */
    @Schema(description ="任务参数")
    private String parameter;


    @Override
    public SysSchedulerTaskResp toResp() {
        return Beans.copyProperties(this, SysSchedulerTaskResp.class);
    }
}